package com.zkthink.ceres.finance.service;

import com.zkthink.base.R;
import com.zkthink.base.service.SuperService;
import com.zkthink.ceres.finance.dto.BankDTO;
import com.zkthink.ceres.finance.dto.MemberCollectingAccountSaveDTO;
import com.zkthink.ceres.finance.dto.MemberCollectingAccountUpdateDTO;
import com.zkthink.ceres.finance.entity.MemberCollectingAccount;
import com.zkthink.ceres.sms.dto.VerificationCodeDTO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 会员收款帐户表
 * </p>
 *
 * @author vivi.huang
 * @date 2020-05-25
 */
public interface MemberCollectingAccountService extends SuperService<MemberCollectingAccount> {
    /**
     * 绑定收款帐户
     *
     * @param collectingAccountSaveDTO
     * @return
     */
    R<Boolean> bindingMemberAccount(MemberCollectingAccountSaveDTO collectingAccountSaveDTO);

    /**
     * 更换收款帐号
     *
     * @param collectingAccountUpdateDTO
     * @return
     */
    R<Boolean> changeMemberAccount(MemberCollectingAccountUpdateDTO collectingAccountUpdateDTO);

    /**
     * 解除绑定收款帐号
     *
     * @param verificationCodeDTO
     * @return
     */
    R<Boolean> cancelBindingMemberAccount(VerificationCodeDTO verificationCodeDTO);

    /**
     * 银行列表
     *
     * @return
     */
    R<List<BankDTO>> findBankList();

    //查询收款账户
    R<MemberCollectingAccount> selectByMid(Long mid);
}
